$(function() {
    $('#link_reg').on('click', function() {
        $('.login_box').hide();
        $('.reg_box').show();
    });

    $('#link_login').on('click', function() {
        $('.login_box').show();
        $('.reg_box').hide();
    });

    //从layui中获取form对象
    let form = layui.form;
    form.verify({
        username: function(value, item) { //value：表单的值、item：表单的DOM对象
            if (!new RegExp("^[a-zA-Z0-9_\u4e00-\u9fa5\\s·]{6,15}$").test(value)) {
                return '用户名不能有特殊字符且长度为6~15位';
            }
            if (/(^\_)|(\__)|(\_+$)/.test(value)) {
                return '用户名首尾不能出现下划线\'_\'';
            }
        },
        //我们既支持上述函数式的方式，也支持下述数组的形式
        //数组的两个值分别代表：[正则匹配、匹配不符时的提示文字]
        pwd: [
            /^[\S]{6,12}$/, '密码必须6到12位，且不能出现空格'
        ],
        // 校验两次密码是否一致的规则
        repwd: function(value) {
            // 通过形参拿到的是确认密码框中的内容
            // 还需要拿到密码框中的内容
            // 然后进行一次等于的判断
            // 如果判断失败,则return一个提示消息即可
            var pwd = $('#form_reg [name=password]').val();
            if (pwd !== value) {
                return '两次密码不一致！';
            }
        }
    });

    let layer = layui.layer;

    //监听注册表单提交事件
    $('#form_reg').on('submit', function(e) {
        e.preventDefault();
        let data_reg = {
            username: $('#form_reg [name=username]').val(),
            password: $('#form_reg [name=password]').val()
        };
        $.ajax({
            type: "POST",
            url: "/api/reguser",
            data: data_reg,
            // dataType: "",上传数据格式
            success: (res) => {
                if (res.status !== 0) {
                    return layer.msg(res.message);
                }
                layer.msg(res.message);
                //模拟人的点击行为
                $('#link_login').click();
            },
            //超时时间
            timeout: 3000,
            //失败的问题
            error: () => {
                console.log('出错啦');
            }
        });
    });

    //监听登录表单事件
    $('#form_login').on('submit', function(e) {
        e.preventDefault();
        $.ajax({
            type: "POST",
            url: "/api/login",
            //快速获取表单中的数据
            data: $(this).serialize(),
            success: function(res) {
                if (res.status !== 0) {
                    return layer.msg(res.message);
                }
                layer.msg(res.message);
                // 将登录成功得到的 token 字符串，保存到 localStorage中
                localStorage.setItem('token', res.token);
                //跳转到后台
                location.href = '/index.html';
            },
            timeout: 3000,
            error: () => {
                console.log('出错啦');
            }
        });
    });
})